<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

App::import('Vendor', 'ClassEzpdf', array('file' => 'pdf/class.ezpdf.php'));
$pdf = new Cezpdf('LETTER');
$pdf->ezStartPageNumbers(20, 75, 10, 'right', utf8_decode('Página' . "  {PAGENUM} de {TOTALPAGENUM}"), 1);
generar_carta(' ', "", $pdf);
$str = "<b>CONVOCATORIA " . $proyecto['Call']['nombre'] . " INCODER - TIERRAS";
$str.= "\nINFORME DE VIABILIDAD INTEGRAL</b>";
$pdf->ezText(utf8_decode($str), 12, array('justification' => 'center'));
$pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));


$data = array();
$data[] = array('uno' => utf8_decode("Código: "), 'dos' => utf8_decode($proyecto['Proyect']['codigo']));
$data[] = array('uno' => utf8_decode("Evaluador: "), 'dos' => utf8_decode($evaluacion['User']['nombre'] . " " . $evaluacion['User']['primer_apellido'] . " " . $evaluacion['User']['segundo_apellido']));
$data[] = array('uno' => utf8_decode("Nombre del proyecto: "), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['nombre_proyecto']));
$data[] = array('uno' => utf8_decode("Departamento: "), 'dos' => utf8_decode($proyecto['Departament']['name']));
$pdf->ezTable(
        $data, null, "DATOS GENERALES DEL PROYECTO", array(
    'fontSize' => 10,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
        )
);
$pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
$data = array();
$data[] = array('uno' => utf8_decode("Nombre del proponente "), 'dos' => utf8_decode($proponente['Proposer']['nombre']));
$data[] = array('uno' => utf8_decode("Identificación"), 'dos' => utf8_decode($proponente['Proposer']['numero_identificacion']));
$data[] = array('uno' => utf8_decode("Departamento:"), 'dos' => utf8_decode($proponente['Departament']['name']));
$data[] = array('uno' => utf8_decode("Municipio:"), 'dos' => utf8_decode($proponente['City']['name']));
if ($proponente['Proposer']['proposer_type'] == 2) {
    $data[] = array('uno' => utf8_decode("Nombre del representante legal:"), 'dos' => utf8_decode($proponente['Proposer']['rep_nombres'] . " " . $proponente['Proposer']['rep_apellidos']));
    $data[] = array('uno' => utf8_decode("Documento representente legal:"), 'dos' => utf8_decode("C.C " . $proponente['Proposer']['rep_cedula']));
}
$data[] = array('uno' => utf8_decode("Teléfono fijo:"), 'dos' => utf8_decode($proponente['Proposer']['telefono_fijo']));
$data[] = array('uno' => utf8_decode("Teléfono celular"), 'dos' => utf8_decode($proponente['Proposer']['telefono_celular']));
$data[] = array('uno' => utf8_decode("Fax"), 'dos' => utf8_decode($proponente['Proposer']['fax']));
$data[] = array('uno' => utf8_decode("Email"), 'dos' => utf8_decode($proponente['Proposer']['email']));


$pdf->ezTable(
        $data, null, "DATOS DEL PROPONENTE", array(
    'fontSize' => 10,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
        )
);
// DATOS DE LOS BENEFICIARIOS


$pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
$data = array();
$data[] = array('uno' => utf8_decode("Familias totales:"), 'dos' => utf8_decode($principales + $suplentes));
$data[] = array('uno' => utf8_decode("Familias principales:"), 'dos' => utf8_decode($principales));
$data[] = array('uno' => utf8_decode("Familias suplentes:"), 'dos' => utf8_decode($suplentes));
$data[] = array('uno' => utf8_decode("Familias habilitadas:"), 'dos' => utf8_decode($habilitadas));
$data[] = array('uno' => utf8_decode("Familias beneficiarias:"), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['familias_habilitadas']));


$pdf->ezTable(
        $data, null, "DATOS DE LOS BENEFICIARIOS", array(
    'fontSize' => 10,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
        )
);








//Predios

$flag = 0;
App::Import('model', 'Owner');
$propietario = new Owner();

foreach ($predios as $predio) {
    $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
    $data = array();
    $data[] = array('uno' => utf8_decode("Código del predio:"), 'dos' => utf8_decode($predio['Property']['codigo']));
    $data[] = array('uno' => utf8_decode("Departamento:"), 'dos' => utf8_decode($predio['Departament']['name']));
    $data[] = array('uno' => utf8_decode("Municipio:"), 'dos' => utf8_decode($predio['City']['name']));
    $data[] = array('uno' => utf8_decode("Matrícula:"), 'dos' => utf8_decode($predio['Property']['matricula']));
    $data[] = array('uno' => utf8_decode("Área de títulos (ha):"), 'dos' => number_format($predio['Property']['area_titulo'], 2, ',', '.'));

    //PLANO TOPOGRAFICO
    $propietario->Property->recursive = -1;
    $options = array();
    $options['joins'] = array(
        array(
            'table' => 'topographic_maps',
            'type' => 'left',
            'alias' => 'TopographicMap',
            'conditions' => array('TopographicMap.property_id=Property.id')
        ),
        array(
            'table' => 'final_evaluation_annexes',
            'type' => 'left',
            'alias' => 'FinalEvaluationAnnexes',
            'conditions' => array('TopographicMap.id=FinalEvaluationAnnexes.topographic_map_id')
        ),
    );
    $options['conditions'] = array('FinalEvaluationAnnexes.final_evaluation_id' => $final_evaluation_id, 'Property_id' => $predio['Property']['id']);
    $options['fields'] = array('TopographicMap.area');
    $area = $propietario->Property->find('first', $options);
    //Se busca el valor del avaluo relacionado con la evaluacion final

    $data[] = array('uno' => utf8_decode("Área del plano topográfico (ha):"), 'dos' => number_format($area['TopographicMap']['area'], 2, ',', '.'));

    //DATOS AVALUO  

    $options = array();
    $options['joins'] = array(
        array(
            'table' => 'evaluation_appraisals',
            'type' => 'left',
            'alias' => 'EvaluationAppraisal',
            'conditions' => array('EvaluationAppraisal.property_id=Property.id')
        ),
        array(
            'table' => 'final_evaluation_annexes',
            'type' => 'left',
            'alias' => 'FinalEvaluationAnnexes',
            'conditions' => array('EvaluationAppraisal.id=FinalEvaluationAnnexes.evaluation_appraisal_id')
        ),
    );
    $options['conditions'] = array('FinalEvaluationAnnexes.final_evaluation_id' => $final_evaluation_id, 'Property_id' => $predio['Property']['id']);
    $options['fields'] = array('EvaluationAppraisal.valor', 'EvaluationAppraisal.area');


    $valor = $propietario->Property->find('first', $options);
    $data[] = array('uno' => utf8_decode("Área avalúo (ha):"), 'dos' => number_format($valor['EvaluationAppraisal']['area'], 2, ',', '.'));
    $data[] = array('uno' => utf8_decode("Valor avalúo:"), 'dos' => "$" . number_format($valor['EvaluationAppraisal']['valor'], 2, ',', '.'));



    $propietario->recursive = -1;
    $propietarios = $propietario->find('all', array('conditions' => array('Owner.property_id' => $predio['Property']['id'])));
    $nombres = "";
    foreach ($propietarios as $prop) {
        $nombres.= $prop['Owner']['nombres'] . " " . $prop['Owner']['primer_apellido'] . " " . $prop['Owner']['segundo_apellido'] . " C.C " . $prop['Owner']['documento'] . "\n";
    }
    $data[] = array('uno' => utf8_decode("Propietario(s)"), 'dos' => utf8_decode($nombres));

    $tx = "";
    if ($flag == 0) {
        $tx = "DATOS DEL(OS)  PREDIOS(S)";
        $flag = 1;
    }
    $pdf->ezTable(
            $data, null, $tx, array(
        'fontSize' => 10,
        'titleFontSize' => 10,
        'maxWidth' => 500,
        'minWidth' => 500,
        'protectRows' => 20,
        'showHeadings' => 0,
        'showLines' => 2,
        'shaded' => 0,
        'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
            )
    );
}
//LINEA PRODUCTIVA
$pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
$data = array();
$data[] = array('uno' => utf8_decode("Linea productiva: "), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['tipo_proyecto']));


$pdf->ezTable(
        $data, null, "DATOS DEL PROYECTO PRODUCTIVO", array(
    'fontSize' => 10,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
        )
);

//INFORMACION FIANACIERA
//LINEA PRODUCTIVA
$pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
$total_predios = $evaluacion['FinalEvaluation']['subsidio_predios_real'] + $contapartidas_certificadas_predio + $contapartidas_otra_predio;
$total_proyecto = $evaluacion['FinalEvaluation']['subsidio_proyecto_real'] + $contapartidas_certificadas_proyecto + $contapartidas_otra_proyecto;
$porcentaje_predios = 0;
$porcentaje_proyectos = 0;
if (($total_predios + $total_proyecto) != 0) {
    $porcentaje_predios = $total_predios * 100 / ($total_predios + $total_proyecto);
    $porcentaje_proyectos = $total_proyecto * 100 / ($total_predios + $total_proyecto);
}

$data = array();
$data[] = array('uno' => utf8_decode("ITEM"), 'dos' => 'SUBSIDIO INCODER', 'tres' => 'CONTRAPARTIDA CERTIFICADA', 'cuatro' => 'OTRAS CONTRAPARTIDAS', 'cinco' => 'VALOR TOTAL', 'seis' => '%');
$data[] = array('uno' => utf8_decode("Predio(s)"), 'dos' => "$ " . number_format($evaluacion['FinalEvaluation']['subsidio_predios_real'], 2, ',', '.'), 'tres' => "$ " . number_format($contapartidas_certificadas_predio, 2, ',', '.'), 'cuatro' => "$ " . number_format($contapartidas_otra_predio, 2, ',', '.'), 'cinco' => "$ " . number_format($total_predios, 2, ',', '.'), 'seis' => number_format($porcentaje_predios, 2, ',', '.'));
$data[] = array('uno' => utf8_decode("Proyecto"), 'dos' => "$ " . number_format($evaluacion['FinalEvaluation']['subsidio_proyecto_real'], 2, ',', '.'), 'tres' => "$ " . number_format($contapartidas_certificadas_proyecto, 2, ',', '.'), 'cuatro' => "$ " . number_format($contapartidas_otra_proyecto, 2, ',', '.'), 'cinco' => "$ " . number_format($total_proyecto, 2, ',', '.'), 'seis' => number_format($porcentaje_proyectos, 2, ',', '.'));
$data[] = array('uno' => utf8_decode("Total"), 'dos' => "$ " . number_format($evaluacion['FinalEvaluation']['subsidio_proyecto_real'] + $evaluacion['FinalEvaluation']['subsidio_predios_real'], 2, ',', '.'), 'tres' => "$ " . number_format($contapartidas_certificadas_proyecto + $contapartidas_certificadas_predio, 2, ',', '.'), 'cuatro' => "$ " . number_format($contapartidas_otra_predio + $contapartidas_otra_proyecto, 2, ',', '.'), 'cinco' => "$ " . number_format($total_proyecto + $total_predios, 2, ',', '.'), 'seis' => '100,00');


$pdf->ezTable(
        $data, null, "DATOS DEL PROYECTO PRODUCTIVO", array(
    'fontSize' => 10,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
        )
);


//Concepto tecnico de evaluacion.
$pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'full'));
$data = array();
$data[] = array('uno' => utf8_decode("CRITERIO"), 'dos' => utf8_decode("CALIFICACIÓN"), 'tres' => utf8_decode("OBSERVACIÓN"));
$data[] = array('uno' => utf8_decode("Que presente la totalidad de los anexos del Formulario N° 8 (proyecto productivo) requisito mínimo conforme a lo establecido en  los términos de referencia."), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['calificacion_anexos']), 'tres' => utf8_decode($evaluacion['FinalEvaluation']['concepto_anexos']));
$data[] = array('uno' => utf8_decode("Que el predio se encuentre ubicado por debajo de los 3.000 m.s.n.m.,  que esté acorde con el Plan de Ordenamiento Municipal  y no se encuentre en áreas de manejo especial (Revisar formulario N° 6 y 7) numeral 2.3.2.2 ubicación. de los términos de referencia"), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['calificacion_ubicacion']), 'tres' => utf8_decode($evaluacion['FinalEvaluation']['concepto_ubicacion']));
$data[] = array('uno' => utf8_decode("Que la superficie agropecuaria  utilizable del predio no sea inferior al 80% del total del área, tal como lo establece el numeral 2.3.2.4 superficie agropecuaria utilizable de los términos de referencia."), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['calificacion_area_util']), 'tres' => utf8_decode($evaluacion['FinalEvaluation']['concepto_area_util']));
$data[] = array('uno' => utf8_decode("Que el predio tenga la calidad mínima de los suelos y del 100% del área no exceda en más del 20% en clases agrológicas  VII y VIII no fértiles, tal como se establece en el numeral 2.3.2.6 clases agrológicas y topografía de los términos de referencia."), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['calificacion_suelos']), 'tres' => utf8_decode($evaluacion['FinalEvaluation']['concepto_suelos']));
$data[] = array('uno' => utf8_decode("Que el predio tenga la calidad mínima de los suelos y no exceda en más del 10% la clase agrológica V, tal como se establece en el numeral 2.3.2.6 clases agrológicas y topografía de los términos de referencia y demás contemplados en el mismo documento."), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['calificacion_claseV']), 'tres' => utf8_decode($evaluacion['FinalEvaluation']['concepto_claseV']));
$data[] = array('uno' => utf8_decode("No serán considerados los inmuebles en los que el valor de las mejoras no útiles, improductivas y suntuarias supere el (10%) del precio total de la venta. Son mejoras suntuarias las definidas en el inciso 2 del artículo 967del código civil, e improductivas las que no tienen vinculación directa en el proceso productivo que se adelante o proyecte realizar en el predio."), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['calificacion_mejoras_santuarias']), 'tres' => utf8_decode($evaluacion['FinalEvaluation']['concepto_mejoras_santuarias']));


$pdf->ezTable(
        $data, null, utf8_decode("REQUISITOS MÍNIMOS"), array(
    'fontSize' => 9,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full', 'width' => '130'), 'dos' => array('justification' => 'full', 'width' => '70'), 'tres' => array('justification' => 'full', 'width' => '300'))
        )
);

//Concepto tecnico de evaluacion.
$pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
$data = array();
$data[] = array('uno' => utf8_decode("COMPONENTE ASPECTOS PRODUCTIVOS: " . $evaluacion['FinalEvaluation']['calificacion_aspectos_productivos']));
$data[] = array('uno' => utf8_decode($evaluacion['FinalEvaluation']['concepto_aspectos_productivos']));
$pdf->ezTable(
        $data, null, "DATOS DEL PROYECTO PRODUCTIVO", array(
    'fontSize' => 9,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full', 'width' => 500))
        )
);
$data = array();

$data[] = array('uno' => utf8_decode("COMPONENTE ASPECTOS SOCIALES: " . $evaluacion['FinalEvaluation']['calificacion_aspectos_sociales']));
$data[] = array('uno' => utf8_decode($evaluacion['FinalEvaluation']['concepto_aspectos_sociales']));
$pdf->ezTable(
        $data, null, "", array(
    'fontSize' => 9,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full', 'width' => 500))
        )
);
$data = array();
$data[] = array('uno' => utf8_decode("COMPONENTE ASPECTOS FINANCIEROS: " . $evaluacion['FinalEvaluation']['calificacion_aspectos_financieros']));
$data[] = array('uno' => utf8_decode($evaluacion['FinalEvaluation']['concepto_aspectos_financieros']));
$pdf->ezTable(
        $data, null, "", array(
    'fontSize' => 9,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full', 'width' => 500))
        )
);
$data = array();
$data[] = array('uno' => utf8_decode("COMPONENTE ASPECTOS AMBIENTALES: " . $evaluacion['FinalEvaluation']['calificacion_aspectos_ambientales']));
$data[] = array('uno' => utf8_decode($evaluacion['FinalEvaluation']['concepto_aspectos_ambientales']));


$pdf->ezTable(
        $data, null, "", array(
    'fontSize' => 9,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full', 'width' => 500))
        )
);

///Estudio de titulos
$calificacion_estudios = "Cumple";
$flag1 = 0;
$calidad = "";
$calificacion = "";
foreach ($predios as $predio) {
    $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
    $data = array();
    $propietario->Property->TitleStudy->recursive = -1;
    $titulo = $propietario->Property->TitleStudy->find('first', array('conditions' => array('TitleStudy.property_id' => $predio['Property']['id']), 'fields' => array('TitleStudy.calificacion', 'TitleStudy.concepto', 'TitleStudy.id'), 'order' => array('TitleStudy.id DESC')));
    $control = $propietario->Property->QualityControl->find('first', array('conditions' => array('QualityControl.property_id' => $predio['Property']['id']), 'fields' => array('QualityControl.observaciones', 'QualityControl.calificacion'), 'order' => array('QualityControl.id DESC')));

    $tx = "";
    if ($flag1 == 0) {
        $tx = utf8_decode("ESTUDIO DE TÍTULOS");
        $flag1 = 1;
    }
    $calificacion = "";
    switch ($titulo['TitleStudy']['calificacion']) {
        case 1:
            $calificacion = "Cumple";
            break;
        case 2:
            $calificacion = "No Cumple";
            break;
        case 3:
            $calificacion = "Subsanable";
            break;
        default:
            $calificacion = "Sin registro";
            break;
    }
    $calidad = "";
    switch ($control['QualityControl']['calificacion']) {
        case 1:
            $calidad = "Pendiente";
            break;
        case 2:
            $calidad = "Requiere documento";
            break;
        case 3:
            $calidad = "No cumple";
            break;
        case 4:
            $calidad = "Cumple";
            break;
        default:
            $calidad = "Sin registro";
            break;
    }
}

//CALIFICACION INTEGRAL

if ($calidad == "Sin registro") {
    if ($calificacion == "Cumple") {
        $calificacion_estudios = "Cumple";
    } else {
        $calificacion_estudios = "No Cumple";
    }
} else {
    if ($calidad == "Cumple") {
        $calificacion_estudios = "Cumple";
    } else {
        $calificacion_estudios = "No Cumple";
    }
}


$data[] = array('uno' => utf8_decode("Código:"), 'dos' => utf8_decode($predio['Property']['codigo']));
$data[] = array('uno' => utf8_decode("Calificación:"), 'dos' => utf8_decode($calificacion));
$data[] = array('uno' => utf8_decode("Concepto:"), 'dos' => utf8_decode($titulo['TitleStudy']['concepto']));
$data[] = array('uno' => utf8_decode("Calificación Control de calidad: "), 'dos' => utf8_decode($calidad));
$data[] = array('uno' => utf8_decode("Observaciones: "), 'dos' => utf8_decode($control['QualityControl']['observaciones']));

$pdf->ezTable(
        $data, null, $tx, array(
    'fontSize' => 10,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
        )
);



///Condicionamientos de tipo juridico
$data = array();
foreach ($juridicos as $juridico) {


    $data[] = array('uno' => utf8_decode("Condicionamiento:"), 'dos' => utf8_decode($juridico['Constraint']['nombre']));
    $data[] = array('uno' => utf8_decode("Concepto:"), 'dos' => utf8_decode($juridico['EvaluationConstraint']['descripcion']));
}
if (!empty($data)) {
    $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
    $pdf->ezTable(
            $data, null, utf8_decode("CONDICIONAMIENTOS JURÍDICOS"), array(
        'fontSize' => 10,
        'titleFontSize' => 10,
        'maxWidth' => 500,
        'minWidth' => 500,
        'protectRows' => 20,
        'showHeadings' => 0,
        'showLines' => 2,
        'shaded' => 0,
        'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
            )
    );
}

//CONCEPTO TECNICO DE AVALUOS

$calificacion_avaluos = "Cumple";
$data = array();
foreach ($predios as $predio) {
    $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));

    $data[] = array('uno' => utf8_decode("Código del predio:"), 'dos' => utf8_decode($predio['Property']['codigo']));

    //DATOS AVALUO  

    $options = array();
    $options['joins'] = array(
        array(
            'table' => 'evaluation_appraisals',
            'type' => 'left',
            'alias' => 'EvaluationAppraisal',
            'conditions' => array('EvaluationAppraisal.property_id=Property.id')
        ),
        array(
            'table' => 'final_evaluation_annexes',
            'type' => 'left',
            'alias' => 'FinalEvaluationAnnexes',
            'conditions' => array('EvaluationAppraisal.id=FinalEvaluationAnnexes.evaluation_appraisal_id')
        ),
    );
    $options['conditions'] = array('FinalEvaluationAnnexes.final_evaluation_id' => $final_evaluation_id, 'Property_id' => $predio['Property']['id']);
    $options['fields'] = array('EvaluationAppraisal.valor', 'EvaluationAppraisal.area', 'EvaluationAppraisal.calificacion', 'EvaluationAppraisal.concepto');
    $valor = $propietario->Property->find('first', $options);
    $calificacion = "";

    switch ($valor['EvaluationAppraisal']['calificacion']) {
        case 1:
            $calificacion = "Cumple";
            break;
        case 2:
            $calificacion = "Subsanable";
            break;
        case 3:
            $calificacion = "No Cumple";
            break;

        default:
            $calificacion = "Sin registro";
            break;
    }
    if ($valor['EvaluationAppraisal']['calificacion'] != 1) {
        $calificacion_avaluos = "No cumple";
    }
    $data[] = array('uno' => utf8_decode("Área avalúo (ha):"), 'dos' => number_format($valor['EvaluationAppraisal']['area'], 2, ',', '.'));
    $data[] = array('uno' => utf8_decode("Valor avalúo:"), 'dos' => "$" . number_format($valor['EvaluationAppraisal']['valor'], 2, ',', '.'));
    $data[] = array('uno' => utf8_decode("Calificación:"), 'dos' => utf8_decode($calificacion));
    $data[] = array('uno' => utf8_decode("Concepto:"), 'dos' => utf8_decode($valor['EvaluationAppraisal']['concepto']));
}


$pdf->ezTable(
        $data, null, utf8_decode("CONCEPTO TÉCNICO SOBRE  EL (LOS) AVALÚO(S)"), array(
    'fontSize' => 10,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
        )
);

$pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));


$data = array();
$data[] = array('uno' => utf8_decode("Calificación "), 'dos' => $evaluacion['FinalEvaluation']['calificacion_suelos']);
$data[] = array('uno' => utf8_decode("Concepto "), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['concepto_suelos']));
$pdf->ezTable(
        $data, null, utf8_decode("CONCEPTO TÉCNICO SOBRE  EL (LOS) SUELO(S)"), array(
    'fontSize' => 10,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
        )
);
//CONCEPTO UNIDADES FISIOGRAFICAS
$data = array();
foreach ($predios as $predio) {
    $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));

    $data[] = array('uno' => utf8_decode("Código del predio:"), 'dos' => utf8_decode($predio['Property']['codigo']));
    $data[] = array('uno' => utf8_decode("Clase agrológica:"), 'dos' => utf8_decode("Área (ha)"));

    //DATOS AVALUO  

    $options = array();
    $options['joins'] = array(
        array(
            'table' => 'evaluation_appraisals',
            'type' => 'left',
            'alias' => 'EvaluationAppraisal',
            'conditions' => array('EvaluationAppraisal.property_id=Property.id')
        ),
        array(
            'table' => 'final_evaluation_annexes',
            'type' => 'left',
            'alias' => 'FinalEvaluationAnnexes',
            'conditions' => array('EvaluationAppraisal.id=FinalEvaluationAnnexes.evaluation_appraisal_id')
        ),
    );
    $options['conditions'] = array('FinalEvaluationAnnexes.final_evaluation_id' => $final_evaluation_id, 'Property_id' => $predio['Property']['id']);
    $options['fields'] = array('EvaluationAppraisal.id');
    $valor = $propietario->Property->find('first', $options);

    if (!empty($valor['EvaluationAppraisal']['id'])) {
        $unidades = $propietario->query("SELECT Unidad.clase_agrologica, SUM( area ) as suma FROM  `evaluation_physiographic_units` Unidad WHERE Unidad.evaluation_appraisal_id =" . $valor['EvaluationAppraisal']['id'] . " GROUP BY clase_agrologica");
        foreach ($unidades as $unidad) {

            $data[] = array('uno' => $unidad['Unidad']['clase_agrologica'], 'dos' => number_format($unidad[0]['suma'], 2, ',', '.'));
        }
    }
}


$pdf->ezTable(
        $data, null, utf8_decode("RESUMEN CLASES AGROLÓGICAS"), array(
    'fontSize' => 10,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
        )
);

//condicionamientos no juridicos 
///Condicionamientos de tipo juridico
$data = array();
foreach ($condicionamientos as $condicionamiento) {


    $data[] = array('uno' => utf8_decode("Condicionamiento:"), 'dos' => utf8_decode($condicionamiento['Constraint']['nombre']));
    $data[] = array('uno' => utf8_decode("Concepto:"), 'dos' => utf8_decode($condicionamiento['EvaluationConstraint']['descripcion']));
}
if (!empty($data)) {
    $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
    $pdf->ezTable(
            $data, null, utf8_decode("CONDICIONAMIENTOS"), array(
        'fontSize' => 10,
        'titleFontSize' => 10,
        'maxWidth' => 500,
        'minWidth' => 500,
        'protectRows' => 20,
        'showHeadings' => 0,
        'showLines' => 2,
        'shaded' => 0,
        'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
            )
    );
}
//CONCEPTO ELEGIBILIDAD INTEGRAL
$pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
$data = array();
$data[] = array('uno' => utf8_decode("Calificación:"), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['calificacion_elegibilidad_integral']));
$data[] = array('uno' => utf8_decode("Concepto:"), 'dos' => utf8_decode($evaluacion['FinalEvaluation']['concepto_elegibilidad_integral']));

$pdf->ezTable(
        $data, null, utf8_decode("CALIFICACIÓN VIABILIDAD INTEGRAL"), array(
    'fontSize' => 10,
    'titleFontSize' => 10,
    'maxWidth' => 500,
    'minWidth' => 500,
    'protectRows' => 20,
    'showHeadings' => 0,
    'showLines' => 2,
    'shaded' => 0,
    'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
        )
);





/// CONCEPTO INTEGRAL
//primero se halla el concepto de los citerios de vrificacion
$criterios_evaluacion = "Cumple";
if ($evaluacion['FinalEvaluation']['calificacion_anexos'] != 'Cumple' || $evaluacion['FinalEvaluation']['calificacion_ubicacion'] != 'Cumple' || $evaluacion['FinalEvaluation']['calificacion_area_util'] != "Cumple" || $evaluacion['FinalEvaluation']['calificacion_suelos'] != "Cumple" || $evaluacion['FinalEvaluation']['calificacion_claseV'] != "Cumple" || $evaluacion['FinalEvaluation']['calificacion_mejoras_santuarias'] != "Cumple") {
    $criterios_evaluacion = "No cumple";
}

//DATOS CALIFICACION ENCUESTA

$calificacion_encuesta = "Cumple"; // aqui

App::Import('Model', 'Poll');
$poll = new Poll();
$poll->recursive = -1;

$encuesta = $poll->find('first', array('conditions' => array('Poll.proyect_id' => $proyecto['Proyect']['id']), 'fields' => array('Poll.verificacion_fase_uno', 'Poll.visto_bueno', 'Poll.calificacion_caracteristicas_biofisicas', 'Poll.calificacion_sociales', 'Poll.calificacion_economicos', 'Poll.calificacion_ambientales',), 'order' => array('Poll.id DESC')));

$calificacion_encuesta = '';

if ($encuesta['Poll']['calificacion_caracteristicas_biofisicas'] == null or $encuesta['Poll']['calificacion_sociales'] == null
        or $encuesta['Poll']['calificacion_economicos'] == null or $encuesta['Poll']['calificacion_ambientales'] == null or
        $encuesta['Poll']['calificacion_caracteristicas_biofisicas'] == '' or $encuesta['Poll']['calificacion_sociales'] == ''
        or $encuesta['Poll']['calificacion_economicos'] == '' or $encuesta['Poll']['calificacion_ambientales'] == ''
) {
    $calificacion_encuesta = 'No cumple';
} else if ($encuesta['Poll']['verificacion_fase_uno'] == null or $encuesta['Poll']['visto_bueno'] == null or
        $encuesta['Poll']['verificacion_fase_uno'] == 'Sin registro' or $encuesta['Poll']['visto_bueno'] == 'Sin registro') {
    $calificacion_encuesta = 'No cumple';
} else if ($encuesta['Poll']['calificacion_caracteristicas_biofisicas'] == 'No cumple' or $encuesta['Poll']['calificacion_sociales'] == 'No cumple'
        or $encuesta['Poll']['calificacion_economicos'] == 'No cumple' or $encuesta['Poll']['calificacion_ambientales'] == 'No cumple' or
        $encuesta['Poll']['verificacion_fase_uno'] == 'No' or $encuesta['Poll']['visto_bueno'] == null
) {
    $calificacion_encuesta = 'No cumple';
} else {
    $calificacion_encuesta = 'Cumple';
}


$viabilidad_integral = "Cumple";

if ($criterios_evaluacion != "Cumple" || $evaluacion['FinalEvaluation']['calificacion_aspectos_productivos'] != "Cumple" || $calificacion_avaluos != "Cumple" || $evaluacion['FinalEvaluation']['calificacion_aspectos_sociales'] != "Cumple" || $evaluacion['FinalEvaluation']['calificacion_aspectos_financieros'] != "Cumple" || $evaluacion['FinalEvaluation']['calificacion_aspectos_ambientales'] != "Cumple" || $evaluacion['FinalEvaluation']['calificacion_elegibilidad_integral'] != "Elegible" || $calificacion_estudios != "Cumple" || $calificacion_encuesta != "Cumple") {
    $viabilidad_integral = "No cumple";
}

$data = array();
$integral = "";
$integral.="Criterios de verificación: " . $criterios_evaluacion . "\n";
$integral.="Aspecto Técnico-Productivo: " . $evaluacion['FinalEvaluation']['calificacion_aspectos_productivos'] . "\n";
$integral.="Avaluo: " . $calificacion_avaluos . "\n";
$integral.="Aspecto Social: " . $evaluacion['FinalEvaluation']['calificacion_aspectos_sociales'] . "\n";
$integral.="Aspecto Financiero: " . $evaluacion['FinalEvaluation']['calificacion_aspectos_financieros'] . "\n";
$integral.="Aspecto Ambiental: " . $evaluacion['FinalEvaluation']['calificacion_aspectos_ambientales'] . "\n";
$integral.="Elegibilidad integral: " . $evaluacion['FinalEvaluation']['calificacion_elegibilidad_integral'] . "\n";


$data[] = array('uno' => utf8_decode("Calificación viabilidad integral"), 'dos' => utf8_decode($viabilidad_integral));
$data[] = array('uno' => utf8_decode("Fase I :"), 'dos' => utf8_decode("Juridico: " . $calificacion_estudios));
$data[] = array('uno' => utf8_decode("Fase II A :"), 'dos' => utf8_decode($calificacion_encuesta));
$data[] = array('uno' => utf8_decode("Fase II B :"), 'dos' => utf8_decode($integral));

if (!empty($data)) {
    $pdf->ezText(utf8_decode("\n"), 12, array('justification' => 'center'));
    $pdf->ezTable(
            $data, null, utf8_decode("CONCEPTO DE VIABILIDAD INTEGRAL"), array(
        'fontSize' => 10,
        'titleFontSize' => 10,
        'maxWidth' => 500,
        'minWidth' => 500,
        'protectRows' => 20,
        'showHeadings' => 0,
        'showLines' => 2,
        'shaded' => 0,
        'cols' => array('uno' => array('justification' => 'full'), 'dos' => array('justification' => 'full'))
            )
    );
}


$pdf->ezStopPageNumbers(1, 1, 0);
$pdf->ezStream();
?>

<?php

function generar_carta($cod, $str, &$pdf, $start = true, $m_left = 2.5, $m_right = 2.5) {
    App::import('Vendor', 'ClassEzpdf', array('file' => 'pdf/class.ezpdf.php'));
    if ($pdf == NULL) {
        $pdf = new Cezpdf('LETTER');
    }
    if ($start) {
        $tmp = array(
            'b' => 'Trebuchet-Bold.afm'
            , 'i' => 'Trebuchet-Italic.afm'
            , 'bi' => 'Trebuchet-BoldItalic.afm'
            , 'ib' => 'Trebuchet-BoldItalic.afm'
            , 'bb' => 'Trebuchet-Bold.afm'
        );
        $pdf->setFontFamily('Trebuchet.afm', $tmp);
        $pdf->selectFont('fonts/Trebuchet.afm');

        $all = $pdf->openObject();
        $pdf->saveState();
        $pdf->addJpegFromFile('img/cabecera.jpg', 60, 670, 500);
        $pdf->addJpegFromFile('img/pie.jpg', 0, 10, 610, 60);
        $pdf->restoreState();
        $pdf->closeObject();
        $pdf->addObject($all, 'all');
        $pdf->transaction('start');
    }

    $pdf->ezSetCmMargins(4.5, 4.5, $m_left, $m_right);

    $textOptions = array('justification' => 'full');
    $data = explode("\n", $str);
    $collecting = 0;
    foreach ($data as $d) {
        chop($d);
        if (strlen($d) && $d[0] == '#') {
            // comment, or new page request
            switch ($d) {
                case '#NP':
                    $pdf->ezNewPage();
                    break;
            }
        } else {
            $pdf->ezText($d, 8, $textOptions);
        }
    }
}
?>
